//
//  LoopProgressView.swift
//  FromWatchToCircle
//
//  Created by 张海峰 on 2018/6/1.
//  Copyright © 2018年 张海峰. All rights reserved.
//
/*尊重OC原创作者：高少东 https://github.com/gsdios/SDProgressView.git */
/*写该demo的目的：主要是想从时钟开始，一步步窥见项目中和圆有关的东西，从而学习巩固，加深理解。
 (项目不定时更新，所以最好从下面地址获取最新demo),感觉我这个demo对你有启发或者帮助，欢迎fork 感谢star
 https://github.com/FighterLightning/FromWatchToCircle.git
 */
import UIKit
class LoopProgressView: BaseProgressView {
    override func draw(_ rect: CGRect) {
        super.draw(rect)
        let ctx: CGContext = UIGraphicsGetCurrentContext()!
        //画背景
        let centerXY: CGFloat = defaultWH/2
        UIColor.red.set()// 进度颜色
        ctx.setLineWidth(15)
        ctx.setLineCap(CGLineCap.round)//使进度看起来是圆滑形
        let endAngle: CGFloat = self.progress * .pi*2 + CGFloat(-Double.pi/2) + 0.15 ; // 初始值0.15让收尾连接时看起来无缝隙
        let radius :CGFloat = centerXY - ProgressViewItemMargin //半径
        ctx.addArc(center: CGPoint.init(x: centerXY, y: centerXY), radius: radius, startAngle:endAngle , endAngle:-.pi/2, clockwise: true)
        ctx.strokePath()//虚心
        //要绘制的文字
        let progressStr = "\(self.progress * 100)%"
        //文字样式属性
        let style = NSMutableParagraphStyle()
        style.alignment = .center
        let attributes = [NSAttributedStringKey.font: UIFont.systemFont(ofSize: defaultTextFont),
                          NSAttributedStringKey.foregroundColor: UIColor.white,
                          NSAttributedStringKey.paragraphStyle: style]
        self.setCenterProgressText(text: progressStr, attributes: attributes)
    }
}
